<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:t="http://com.ss.stockmanager/jsf"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

<body>
	<u:composition template="/pages/layout/pageLayout.xhtml">
		<u:define name="body">
			<h:form id="form">
				<p:panel id="panelFiltro" header="#{msgs.common_filtros}"
					rendered="#{!depositoController.addEdit}">
					<h:panelGrid columns="5">
						<h:outputText value="#{msgs.admProveedor_nombre}" />
						<p:inputText value="#{depositoController.query.nombre}"
							maxlength="200" size="50" />
						<h:outputText value="#{msgs.admDeposito_tipo}" />
						<p:selectOneMenu style="width:300px;" value="#{depositoController.query.tipoDeposito}"
							converter="tipoDepositoConverter" >
							<f:selectItem itemLabel="#{msgs.common_todos}" itemValue="" />
							<f:selectItems value="#{depositoController.listaTipoDeposito}" />
						</p:selectOneMenu>

						<p:commandButton value="Consultar"
							actionListener="#{depositoController.query}" update="dataTable">
						</p:commandButton>
					</h:panelGrid>
				</p:panel>

				<h:outputText value="&#160;" />

				<p:growl id="messages" life="5000" />
				<p:dataTable id="dataTable" var="objeto"
					value="#{depositoController.lazyDM}" paginator="true" rows="10"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,15,20"
					rendered="#{!depositoController.addEdit}"
					emptyMessage="No se encontraron registros" dynamic="true"
					lazy="true">

					<f:facet name="header">
						<h:outputText value="#{msgs.admDeposito_title}" />
					</f:facet>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admDeposito_nombre}" />
						</f:facet>
						<h:outputText value="#{objeto.nombre}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admDeposito_tipo}" />
						</f:facet>
						<h:outputText value="#{objeto.tipoDeposito}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admDeposito_cliente}" />
						</f:facet>
						<h:outputText rendered="#{!(objeto.cliente eq null)}"
							value="#{objeto.cliente.nombre}" />
						<h:outputText rendered="#{(objeto.cliente eq null)}" value="" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admDeposito_favorito}" />
						</f:facet>
						<p:selectBooleanCheckbox disabled="true"
							value="#{objeto.favorito}" />
					</p:column>

					<p:column style="width:90px">
						<f:facet name="header">
							<h:outputText value="#{msgs.common_opciones}" />
						</f:facet>
						<h:panelGrid columns="3">
							<p:commandLink actionListener="#{depositoController.edit}"
								update=":form">
								<h:graphicImage url="/resources/images/edit.gif"
									title="Modificar" style="border:0px" />
							</p:commandLink>
							<h:commandLink actionListener="#{depositoController.delete}"
								onclick="return confirm('¿Está seguro de eliminar el registro?');">
								<h:graphicImage url="/resources/images/delete.gif"
									title="Eliminar" style="border:0px" />
							</h:commandLink>
						</h:panelGrid>
					</p:column>

					<f:facet name="footer">
						<p:commandButton value="#{msgs.common_agregar}"
							actionListener="#{depositoController.add}" update=":form" />
					</f:facet>
				</p:dataTable>


				<h:panelGrid id="panel" columns="1"
					rendered="#{depositoController.addEdit}">

					<p:tabView id="tabView" widgetVar="tabView">
						<p:tab title="#{msgs.admDeposito_datosPrincipales}">
							<p:focus for="nombreIT" />
							<p:panel>
								<h:panelGrid columns="3">
									<h:outputText value="#{msgs.admDeposito_nombre}" />
									<p:inputText id="nombreIT"
										value="#{depositoController.view.nombre}" maxlength="200"
										size="50">
										<f:validateBean for="nombreIT" />
									</p:inputText>
									<h:message id="mnIT" for="nombreIT" />

									<h:outputText value="#{msgs.admDeposito_tipo}" />
									<p:selectOneMenu
										value="#{depositoController.view.tipoDeposito}"
										converter="tipoDepositoConverter">
										<f:selectItems value="#{depositoController.listaTipoDeposito}" />
										<p:ajax event="change" update="panelsomCliente panelotCliente"
											listener="#{depositoController.tipoDepositoListener}" />
									</p:selectOneMenu>
									<h:outputText value="" />

									<h:panelGrid id="panelotCliente" style="width:100%;">
										<h:outputText id="otCliente"
											value="#{msgs.admDeposito_cliente}"
											rendered="#{depositoController.cliente}" />
									</h:panelGrid>
									<h:panelGrid id="panelsomCliente" style="width:100%;">
										<p:selectOneMenu id="somCliente"
											rendered="#{depositoController.cliente}"
											value="#{depositoController.view.cliente.id}"
											style="width:100%;">
											<f:selectItems value="#{depositoController.clienteSIL}" />
										</p:selectOneMenu>
									</h:panelGrid>
									<h:outputText id="otClienteRelleno" value="" />

									<h:outputText value="#{msgs.admDeposito_favorito}" />
									<p:selectBooleanCheckbox
										value="#{depositoController.view.favorito}" />
									<h:outputText value="" />

								</h:panelGrid>

							</p:panel>
						</p:tab>

						<p:tab title="#{msgs.admDeposito_seccionProducto}">

							<p:panel header="#{msgs.admDeposito_seccionProducto}">
								<p:dataTable id="listaSeccionProductoDT" var="detalle"
									value="#{depositoController.seccionProductoDM}" emptyMessage="">

									<f:facet name="header">
										<h:outputText value="#{msgs.admDeposito_seccionProducto}" />
									</f:facet>

									<p:column style="width:16px">
										<p:rowToggler />
									</p:column>

									<p:column align="center">
										<f:facet name="header">
											<h:outputText value="#{msgs.admDeposito_seccion}" />
										</f:facet>
										<h:outputText value="#{detalle.seccion.nombre}" />
									</p:column>

									<p:rowExpansion>
										<p:dataTable id="listaProductoExpandidosDT" var="producto"
											value="#{detalle.listaProductos}" emptyMessage="">

											<f:facet name="header">
												<h:outputText value="#{msgs.admDeposito_productos}" />
											</f:facet>

											<p:column align="center">
												<f:facet name="header">
													<h:outputText value="#{msgs.admDeposito_producto}" />
												</f:facet>
												<h:outputText value="#{producto.detalle}" />
											</p:column>

											<p:column align="center">
												<f:facet name="header">
													<h:outputText value="#{msgs.admDeposito_productoCodigo}" />
												</f:facet>
												<h:outputText value="#{producto.codigoProducto}" />
											</p:column>
										</p:dataTable>
									</p:rowExpansion>

									<p:column style="width:40px">
										<f:facet name="header">
											<h:outputText value="#{msgs.common_opciones}" />
										</f:facet>
										<h:panelGrid columns="3">
											<h:commandLink
												actionListener="#{depositoController.deleteDetalle}"
												immediate="true">
												<h:graphicImage url="/resources/images/delete.gif"
													title="#{msgs.common_eliminar}" style="border:0px" />
											</h:commandLink>
										</h:panelGrid>
									</p:column>

									<f:facet name="footer">
										<p:commandButton value="#{msgs.common_agregar}" type="button"
											onclick="PF('seccionProductoDialog').show()" />
									</f:facet>

								</p:dataTable>

							</p:panel>

						</p:tab>
					</p:tabView>

					<!-- ================================================== -->
					<!-- Opciones											-->
					<!-- ================================================== -->
					<h:panelGrid columns="2">
						<p:commandButton value="#{msgs.common_guardar}"
							actionListener="#{depositoController.save}" update=":form">
						</p:commandButton>
						<p:commandButton value="#{msgs.common_volver}"
							actionListener="#{depositoController.cancel}" immediate="true"
							update=":form">
						</p:commandButton>
					</h:panelGrid>
				</h:panelGrid>
			</h:form>

			<h:form id="seccionProductoForm">
				<p:dialog id="seccionProductoDialogID"
					header="Agregar detalle de sección"
					widgetVar="seccionProductoDialog" resizable="false" width="900"
					modal="true" onCloseUpdate="">
					<h:panelGrid id="panelGridSeccionProducto" columns="4">
						<h:outputText value="#{msgs.admDeposito_seccion}" />
						<p:selectOneMenu
							value="#{depositoController.seccionProductoView.seccion.id}"
							style="width: 100% !important;">
							<f:selectItem itemLabel="Seleccione" itemValue="" />
							<f:selectItems value="#{depositoController.listaSeccion}"
								var="seccion" itemValue="#{seccion.id}"
								itemLabel="#{seccion.nombre}" />
							<f:ajax execute="@this" />
						</p:selectOneMenu>
						<h:outputText value="" />
						<h:outputText value="" />

						<h:outputText value="#{msgs.admDeposito_producto}" />
						<p:autoComplete id="productoAC"
							disabled="#{depositoController.productoSelected}"
							value="#{depositoController.productoView}"
							completeMethod="#{depositoController.completeProducto}"
							var="producto" itemLabel="#{producto.detalle}"
							itemValue="#{producto}" converter="productoConverter"
							maxResults="10" size="50">
							<p:ajax event="itemSelect"
								listener="#{depositoController.productoSelectChange}"
								update="productoAC,nombreProducto,deseleccinarLink" />
						</p:autoComplete>
						<h:panelGroup>
							<h:outputText id="nombreProducto"
								value="#{depositoController.productoView.detalle}" />
							<p:commandLink id="deseleccinarLink"
								disabled="#{!depositoController.productoSelected}"
								actionListener="#{depositoController.deselecionarProducto}"
								update="listaProductosDT,productoAC,nombreProducto,deseleccinarLink,:form:messages"
								process="@this">
								<h:graphicImage url="/resources/images/delete.gif"
									title="Deseleccionar" style="border:0px" />
							</p:commandLink>
						</h:panelGroup>
						<p:commandButton value="#{msgs.common_agregar}"
							actionListener="#{depositoController.addProducto}"
							update="listaProductosDT,productoAC,nombreProducto,deseleccinarLink,:form:messages"
							process="@this" />
					</h:panelGrid>

					<p:panel header="#{msgs.admDeposito_productosAgregados}">
						<p:dataTable id="listaProductosDT" var="producto"
							value="#{depositoController.productoDM}" emptyMessage="">

							<f:facet name="header">
								<h:outputText value="#{msgs.admDeposito_productos}" />
							</f:facet>

							<p:column align="center">
								<f:facet name="header">
									<h:outputText value="#{msgs.admDeposito_producto}" />
								</f:facet>
								<h:outputText value="#{producto.detalle}" />
							</p:column>


							<p:column style="width:40px">
								<f:facet name="header">
									<h:outputText value="#{msgs.common_opciones}" />
								</f:facet>
								<h:panelGrid columns="3">
									<h:commandLink
										actionListener="#{depositoController.deleteProducto}"
										immediate="true">
										<h:graphicImage url="/resources/images/delete.gif"
											title="#{msgs.common_eliminar}" style="border:0px" />
									</h:commandLink>
								</h:panelGrid>
							</p:column>

						</p:dataTable>

					</p:panel>

					<h:panelGrid columns="2">
						<p:commandButton value="#{msgs.common_agregar}"
							actionListener="#{depositoController.addDetalle}"
							update=":form:messages,:form:tabView:listaSeccionProductoDT,panelGridSeccionProducto,listaProductosDT"
							process="@this" />

						<p:commandButton value="#{msgs.common_cerrar}" type="button"
							actionListener="#{depositoController.cerrar}"
							onclick="PF('seccionProductoDialog').hide()" />

					</h:panelGrid>

				</p:dialog>

			</h:form>

		</u:define>
	</u:composition>
</body>
</html>